package dao

import (
	"context"
	"vben-admin/pkg/model"
	"vben-common/msdb"
	"vben-common/msdb/gorms"
)

type RoleInterfaceDao struct {
	conn *gorms.GormConn
}

func NewRoleInterfaceDao(db *msdb.MsDB) *RoleInterfaceDao {
	return &RoleInterfaceDao{
		conn: gorms.New(db.Conn),
	}
}

func (r *RoleInterfaceDao) CreateRoleInterface(ctx context.Context, roleInterface []*model.RoleInterfaceModel) error {
	db := r.conn.Session(ctx)
	db.Where("role_id = ?", roleInterface[0].RoleId).Delete(&model.RoleInterfaceModel{})

	db = r.conn.Session(ctx)
	err := db.Create(roleInterface).Error
	return err
}

func (r *RoleInterfaceDao) GetRoleInterfaceList(ctx context.Context, roleId int64) ([]*model.RoleInterfaceModel, error) {
	var roleInterfaceList []*model.RoleInterfaceModel
	err := r.conn.Session(ctx).Where("role_id = ?", roleId).Find(&roleInterfaceList).Error
	return roleInterfaceList, err
}
